package com.cloud.api.domain.algorithm;

import com.baomidou.mybatisplus.annotation.TableField;
import com.cloud.api.utils.ExcelUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author 杨斌
 * 2025-01-2025-01-21
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ExcelUtils.ExcelSheet(watermark = @ExcelUtils.Watermark(type = 0)
)
public class VehiclePoint implements Serializable {
    @Schema(description = "vin")
    @TableField("vin")
    @ExcelUtils.ExcelExport(name = "table.field.vin")
    private String vin;

    @Schema(description = "最后上报时间")
    @TableField("op_time")
    @ExcelUtils.ExcelExport(name = "table.field.OfflineTime",columnWidth = 18)
    private String opTime;
    /**
     * 经度
     */
    @Schema(description = "lng")
    @TableField("lng")
    @ExcelUtils.ExcelExport(name = "table.field.lng")
    private Double lng;

    /**
     * 纬度
     */
    @Schema(description = "lat")
    @TableField("lat")
    @ExcelUtils.ExcelExport(name = "table.field.lat")
    private Double lat;

    @Schema(description = "车牌号")
    @TableField("license_number")
    @ExcelUtils.ExcelExport(name = "table.field.licenseNumber")
    private String licenseNumber;

    @Schema(description = "生产年份")
    @TableField("production_date")
    @ExcelUtils.ExcelExport(name = "table.field.productionYear",columnWidth = 18)
    private String productionDate;

    @Schema(description = "公告型号")
    @TableField("notice_model")
    @ExcelUtils.ExcelExport(name = "table.field.noticeModel",columnWidth = 18)
    private String noticeModel;


    @Schema(description = "soc")
    @TableField(value = "soc")
    @ExcelUtils.ExcelExport(name = "table.field.soc",columnWidth = 18)
    private Short soc;

    @Schema(description = "车辆位置信息")
    @TableField("address")
    @ExcelUtils.ExcelExport(name = "table.field.vehicle.address",columnWidth = 18)
    private String address;

    @Schema(description = "省市")
    @TableField("province")
    @ExcelUtils.ExcelExport(name = "table.field.provinceCity",columnWidth = 18)
    private String provinceCity;

    @Schema(description = "组织机构")
    @TableField("notice_model")
    @ExcelUtils.ExcelExport(name = "table.field.deptName",columnWidth = 18)
    private String deptName;

    @Schema(description = "当前总里程")
    @ExcelUtils.ExcelExport(name = "table.field.current.accumulativeMileage")
    private Double accumulativeMileage;
}

